package com.ddatsh.transaction.core.lifecycle.processunit;

import com.ddatsh.transaction.core.model.TransContext;

 
/**
 * 处理单元接口
 * 
 * @author ddatsh
 * @version 1.0
 */
public interface ProcessUnit {
	//交易代码
	public String getTransCode();
	//排序，从小到大
	public int getOrder();

	/**
	 * 获取处理单元名称
	 * 
	 * @return 处理单元名称
	 */
	public String getName();

	/**
	 * 执行处理
	 */
	public void execute(TransContext transContext);

	/**
	 * 该处理器是否负责返回最终结果
	 * 
	 * @return 返回最终结果是/否
	 */
	public boolean isReturn();

	/**
	 * 获取处理结果，当isReturn()返回true时从该方法获取结果
	 * 
	 * @return 返回处理结果
	 */
	public Object getResult();

}
